Source routed forwarding solutions for multicast traffic are space consuming, limiting usage to very small multicast trees. Source routed multicast headers typically include multi-protocol label switching (MPLS) based stacked headers requiring a fixed 32 bits per label stack entry, each header representing an output interface. During the source routed forwarding of data packets through the network, each of the intermediate nodes in the network receiving the data packet looks at the packet header to determine the next hop for the data packet. A source routed multicast tree may be represented by adding a header label entry for each link. Each link has two interfaces, one at each end of the link and therefore an entry may also be represented by inserting a header label for an outgoing interface for that link. The more links are traversed by each data packet, the more overhead that is added.
For large multicast trees, i.e. traversing a large number of links, this fixed size header label approach for each link is not efficient, and limits the size of multicast trees.